This file contains style information; for optimal viewing, use SimpleText rather than TeachText.
Charon 0.9.9b10
Changes since 0.9.9b9
This document describes changes in Charon since the previous beta release, which was version 0.9.9b9.
This version is mainly a bugfix; on the surface, not much has changed compared to b9, but under the hood, a lot tinkering has been going on. I have combed through the Zmodem code, and have managed to quash some bugs, which may have been causing some of the crashes some of you are reporting. I have also removed all ANSI file I/O from the ZModem code, and replaced it with "real" Mac file I/O. Specific new features:
1. The serialLog survives some crashes
One of the problems with trying to debug your crashes, is the fact that the serialLog usually was unavailable after a crash. In the current version, the serialLog does survive a lot of crashes. This comes at a price, however. To make sure that the serialLog survives, Charon has to flush the disk cache after every log entry. Even though Charon now always sets the noCache bit for write operations, this does not guarantee that the cache won't be used. That's why the flush is necessary.
The downside of the flushes is, that you'll notice a marked slowdown in Charon (especially at the beginning of the connect; it gets better after that), notably if you have a big cache. That's why I've included a way to turn off this paranoid mode of logging, for those who are not having crashes. You have to use ResEdit to open Charon, find 'STR ' resource number 130, and change the "Y" to a "N". Charon will now revert to its normal way of writing the log file. In the next release, this will be the default.
In any case, if you do have crashes, please send me the relevant serialLogs.
2. Customizable connect timeout
The timeout for getting a "CONNECT" string from the modem is customizable. Again, you have to use ResEdit (my apologies for the kludgy implemenation; I realize it's far from ideal, but it was the only way of getting it in quickly). Find 'STR ' resource number 131, and enter the number of seconds you want. The default is 20 seconds. Charon converts to the string to a signed long integer, so you can use values of up to 2 billion seconds. Should be enough even for the slowest of connects. :-)
I hope the changes I've made since b9 will make the crashes go away, or at least allow them to be pinned down more easily. As always, please send your bug reports and other comments to me at qsi@cnh.wlink.nl. Thank you.